Invariant Discovery via Failed Proof Attempts
نویسندگان
چکیده
We present a framework for automating the discovery of loop invariants based upon failed proof attempts. The discovery of suitable loop invariants is a bottle neck for automatic veriication of imperative programs. Using the proof planning framework we reconstruct standard heuristics for developing invariants. We relate these heuristics to the analysis of failed proof attempts allowing us to discover an invariant through a process of reenement.
منابع مشابه
Invariant Patterns for Program Reasoning
We address the problem of integrating standard techniques for automatic invariant generation within the context of program reasoning. We propose the use of invariant patterns which enable us to associate common patterns of program code and specifications with invariant schemas. This allows crucial decisions relating to the development of invariants to be delayed until a proof is attempted. More...
متن کاملPredicting Failures of and Repairing Inductive Proof Attempts⋆
Inductive reasoning is critical for ensuring reliability of computational descriptions, especially of algorithms defined on recursive data structures. Despite advances made in automating inductive reasoning, proof attempts by theorem provers frequently fail while performing inductive reasoning. A user of such a system must scrutinize a failed proof attempt and do intensive debugging to understa...
متن کاملThe Cappelli–Itzykson–Zuber A–D–E Classification
In 1986 Cappelli, Itzykson and Zuber classified all modular invariant partition functions for the conformal field theories associated to the affine A1 algebra; they found they fall into an A-D-E pattern. Their proof was difficult and attempts to generalise it to the other affine algebras failed – in hindsight the reason is that their argument ignored most of the rich structure present. We give ...
متن کاملPredicting Failures of Inductive Proof Attempts
Reasoning about recursively defined data structures and functions defined on them typically requires proofs by induction. Despite advances made in automating inductive reasoning, proof attempts by theorem provers frequently fail while performing inductive reasoning. A user of such a system must scrutinize a failed proof attempt and do intensive debugging to understand the cause of failure. The ...
متن کاملTrace Generalization via Loop Compression
We present a new method to generalize execution traces by compressing loop iterations in them using loop invariants. The invariants discovered are “safe” such that the resulting compressed trace also satisfies certain target properties which the original trace satisfied (e.g., an assertion at the end). This results in a concise trace that captures the semantics of the original trace w.r.t. the ...
متن کامل